1. Technical Field
The present invention relates to the field of communication between controllable devices, and more particularly, to the field of providing accelerated communication between a first programmable or controllable means and a second programmable or controllable means.
2. Background
A processor (such as, for example, a computer processor, a central processing unit or a digital signal processor) is a known circuit in the field of controllable devices. When a processor is used to control motors, the processor is usually coupled to at least one pulse width modulator (PWM) generator or circuit to operate the motor for a particular duration or for a particular duty cycle. By using PWM modulator generators, power is applied to the motor in a defined and controlled sequence (depending on the load requirements) to make the motor turn. PWM generators provide a cost efficient way to generate control signals to switching elements (such as, for example, transistors, insulated gate bipolar transistors or field effect transistors) that supply power to a motor.
Typically, motor control systems utilize many (two, four, six or more) generator circuits to individually control each switching element connected to the motor. Brushless DC (direct current) motor control systems (as seen, for example, in FIG. 4) use six switching elements while DC brush motor control systems use four switching elements (such as, for example, as seen in FIG. 5). At any one time, only two PWM generators (and thus, only two switching elements) are turned on to enable current to flow through the desired motor winding which results in a desired rotational direction. As the motor revolves, the electric current needs to be routed through the motor windings in a specified sequence. This process is known as communication.
In order for the motor to maintain a constant speed or to maintain other controllable characteristics, the processor must periodically load new data into each PWM generator on the order of hundreds to thousands of times a second. When multiple PWM generators are used to control the motor, each generator must be reloaded individually during separate write cycles. This reloading process leads to longer refresh times (and thus more processor clock cycles) to control the motor, which may be inefficient depending on the motor. Thus, for example, in a motor which is being controlled by up to six PWM generators, a processor may be required to load or reload new data to each of the six PWM generators in excess of 20,000 times a second. However, the processor must write data information to each PWM generator for each reloading process. Thus, in this example, a minimum of six write operations are required to load data into each of the six PWM generators every time new data is required to control the motor.
What is needed is a method and apparatus for optimizing the data communication that occurs during write cycles between controllable devices in order to provide more efficient control of a load and to reduce the multiple write operations placed on the processor.